#ifndef SLIDE_SHOW_H
#define SLIDE_SHOW_H

#include <rapidxml/rapidxml.hpp>
#include "../UI/interface_ids.hpp"
#include "slide.h"
#include <wx/wx.h>

struct xmldata
{
	char * name;
	char * data;
	~xmldata() { delete [] name; delete [] data; }
};

class slide_show
{
public:
	slide_show() : current_slide(-1), active_body_pos(false), active_kine_pos(false), active_vertex_pos(false),
	active_circle_pos(false), appending_kine_points(false), appending_vertex_points(false) { }
	~slide_show();
	std::vector<slide> slides;

	void clear();

	int current_slide;

	bool active_body_pos;
	bool active_kine_pos;
	bool active_vertex_pos;
	bool active_circle_pos;

	bool appending_kine_points;
	bool appending_vertex_points;

	bool load_from_xml( std::string filepath );
	bool save_to_file( std::string filepath );
	//bool load_body( rapidxml::xml_node<> * body_node );
	bool load_shape( rapidxml::xml_node<> * shape_node );
};

extern slide_show g_slides;

#endif